package com.cetool.autocms.service.sys;

import com.cetool.autocms.enumeration.OperateEnum;
import com.cetool.autocms.pojo.dto.sys.MenuCheckBoxDTO;
import com.cetool.autocms.pojo.dto.sys.RoleSelectDTO;
import com.cetool.autocms.pojo.request.sys.QueryRolePermissionRequest;
import com.cetool.autocms.pojo.request.sys.SaveRolePermissionRequest;

import java.util.List;

/**
 * 权限管理服务接口
 *
 * @author 戴越
 * @date 2021/11/25
 */
public interface PermissionService {

    /**
     * 角色下拉列表
     *
     * @return 角色下拉框信息传输实体
     * @author 戴越
     * @date 2021/11/25
     */
    List<RoleSelectDTO> queryRoleSelect();

    /**
     * 初始化菜单勾选框
     *
     * @return 菜单勾选框信息传输实体
     * @author 戴越
     * @date 2021/11/25
     */
    List<MenuCheckBoxDTO> queryMenuCheckBox();

    /**
     * 查询角色权限
     *
     * @param request 查询角色权限请求实体
     * @return 权限列表
     * @author 戴越
     * @date 2021/11/25
     */
    List<Integer> queryRolePermission(QueryRolePermissionRequest request);

    /**
     * 新增角色权限
     *
     * @param request 新增角色权限请求实体
     * @return 操作信息
     * @author 戴越
     * @date 2021/11/26
     */
    OperateEnum saveRolePermission(SaveRolePermissionRequest request);

}
